<?php
/* 
 * Clase que almacena datos de la conexion a la base de datos y de posibles
 * errores en la accion elegida.
 */
class estadopagina{
    public $dbh;//contine la conexion a la base de datos
    public $errores; //contine los errores de la pagina
    public $fatal_error=false;
    public $enable_show=true;
    public $registrocorrecto=false;//cuando se acaba de registrar usuario
    public $concursocreado=false;
    public $incripcioncorrecta=false;
    public $actualizado_desde_compra=false;
    public $comprado_correctamente=false;
    public $dinero_suficiente=true;
    public $exito=false;//solo para insercciones y modificaciones
    private $logeado=false;
    private $command;
    private $valid=false;
    public $vars;
    //Variables de sesion
    public $session_vars;
        //$_SESSION['user_vars']=$session_vars;
    public $css;
    /**
     * El constructor de la clase valida y ejecuta el comando recibido.
     */
    public function __construct() {
        session_start();
        $command=$_REQUEST['command'];
        $this->command=$command;
        //inicializacion segun session
        if($_SESSION['logeado']!=null){
            $this->logeado=$_SESSION['logeado'];
            $this->session_vars=$_SESSION['user_vars'];
            //cargar variables como nombre y esas cosas
        }else{
            $this->session_vars=Array();
        }
    }
    /**
     *  Almacena en una variable concatenada la cadena con el error, para
     * posteriormente ser mostrada con muestra_errores()
     * @param <type> $error Cadena con el error.
     */
    public function error($error){
        $this->errores.="$error<br/>";
    }
    /**
     * Imprime el conjunto de errores almacenados.
     */
    public function muestra_errores(){
        echo $this->errores;
    }
    /**
     *  Retorna una cadena con el comando de la pagina.
     * @return <type>
     */
    public function comando(){
        return $this->command;
    }
    /**
     * Pone la variable valid a cierto
     */
    public function valida(){
        $this->valid=true;
    }
    /**
     *  Retorna el valor de la validacion
     * @return <Boolean>
     */
    public function validado(){
        return $this->valid;
    }
    public function logear($row){
        $this->session_vars['id_usuario']=$row['id_usuario'];
        $this->session_vars['user']=$row['user'];
        $this->session_vars['password']=$row['password'];
        $this->session_vars['email']=$row['email'];
        $_SESSION['user_vars']=$this->session_vars;
        $_SESSION['logeado']=true;
        $this->logeado=true;
    }
    public function logeado(){
        return $this->logeado;
    }
    public function logout(){
        $this->logeado=false;
        $session_vars=Array();
        $_SESSION['user_vars']=null;
        $_SESSION['logeado']=false;
    }
    public function relogin(){
        $id_usuario=$this->session_vars['id_usuario'];
        $this->logout();
        $row=get_user($this, $id_usuario);
        $this->logear($row);
    }
}






?>
